Methods and systems for call processing in a wireline and wireless network

ABSTRACT

Methods and systems are described for routing call in a wireless network environment. In one embodiment, a phone address is assigned to a subscriber and/or a subscriber&#39;s mobile telecommunications device. A call directed to the phone address is routed to a call processing system. An outbound call from the call processing system is placed to a wireless communication service provider so as to cause, at least in part, the wireless communication service provider to route the outbound call to the subscriber&#39;s mobile telecommunications device, wherein the call processing system configures call signaling parameters associated with the outbound call so that the outbound call appears to be to a phone number ported to the wireless communication service provider, and wherein the phone number has not been ported to the wireless communication service provider. The outbound call is bridged with the inbound call.

INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

Any and all applications for which a foreign or domestic priority claimis identified in the Application Data Sheet as filed with the presentapplication are hereby incorporated by reference under 37 CFR 1.57.

STATEMENT REGARDING FEDERALLY SPONSORED R&D

Not applicable.

PARTIES OF JOINT RESEARCH AGREEMENT

Not applicable.

REFERENCE TO SEQUENCE LISTING, TABLE, OR COMPUTER PROGRAM LISTING

Not applicable.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to telecommunications, and inparticular, to methods and systems for call processing.

2. Description of the Related Art

People are increasingly associated with a multiplicity of communicationdevices and phone numbers. For example, an individual may have a workphone, a home phone connected to a switched telephone network, a phoneconnected to an Internet protocol network, and a cellular phone.

In addition, mobile virtual network operators have become increasinglycommon as niche target consumers are identified that can be betteraddressed with offerings more focused on their needs. The existence ofmobile virtual network operators can add additional complexity to theoperation of a telecommunications system.

SUMMARY OF THE INVENTION

The present invention is related to telecommunications, and inparticular, to methods and systems for call processing.

Certain example embodiments provide integrated wireline and wirelesscall processing. Further, certain embodiments integrate thecontributions of wireless, wireline, and mobile virtual networkoperators (MVNOs). In an example embodiment, a communications serviceprovider and a wireline carrier optionally integrate with a wirelessMVNO to provide certain call processing services.

An example embodiment provides a method of routing calls: receiving at asoftswitch a call from a first phone address intended for a userassociated with a second phone address; using signaling informationassociated with the call to access account information for the user;determining if a client application associated with the user is online;if the client application is online, transmitting information over adata network regarding the call to the client application while the callis in progress; placing an outbound call from the call processing systemto a wireless communications service provider, wherein the callprocessing system configures call signaling parameters so as to preservethe first phone address in the outbound call signaling information, andso that the outbound call appears to be to a phone address ported to thewireless communication service provider, and to cause, at least in part,the wireless communication service provider to route the outbound callto the user's mobile telecommunications device; and causing at least inpart the outbound call to be bridged with the call intended for theuser.

An example embodiment provides a method of routing calls: receiving at asoftswitch a call intended for a user, the call associated with acalling party phone address; using signaling information associated withthe call to access account information for the user; placing an outboundcall from the call processing system to a wireless communicationsservice provider associated with a user phone address, wherein the callprocessing system configures call signaling parameters so as to preservethe calling party phone address in the outbound call signalinginformation, wherein the outbound call appears to be to a phone addressported to the wireless communication service provider, and to cause, atleast in part, the wireless communication service provider to route theoutbound call to the user's mobile telecommunications device; andcausing at least in part the outbound call to be bridged with theinbound call.

An example embodiment provides a method of routing calls: receiving at asoftswitch a call from a calling phone address intended for a user;using signaling information associated with the call to access accountinformation for the user; determining if a client application associatedwith the user is online; if the client application is online,transmitting information over a data network regarding the call to theclient application while the call is in progress; placing a firstoutbound call from the call processing system to a wirelesscommunications service provider wherein the call processing systemconfigures call signaling parameters so as to preserve the calling partyphone address, wherein the outbound call appears to be to a phoneaddress ported to the wireless communication service provider, and tocause, at least in part, the wireless communication service provider toroute the first outbound call to the user's mobile telecommunicationsdevice; placing a second outbound call from the call processing systemto a phone address associated with the user; and causing at least inpart an outbound call to be bridged with the call.

An example embodiment provides a method of routing calls, the methodcomprising: receiving at a softswitch a call intended for a user; usingsignaling information associated with the call to access accountinformation for the user; determining if a client application associatedwith the user is online; if the client application is online,transmitting information over a data network regarding the call to theclient application while the call is in progress; receiving a callhandling instruction from the user via the telecommunications clientapplication regarding the call; placing a first outbound call from thecall processing system to a wireless communications service providerwherein the call processing system configures call signaling parametersassociated with the outbound call so as to preserve the calling partyphone address and to cause, at least in part, the wireless communicationservice provider to route the first outbound call to the user's mobiletelecommunications device; and causing at least in part the outboundcall to be bridged with the call.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example system and process for providing convergedtelecommunication services.

FIG. 2 illustrates an example telecommunications client user interface.

FIG. 3 illustrates an example browser-based telecommunications clientuser interface.

FIGS. 4A-B illustrates an example web widget-based telecommunicationsclient.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

As discussed above, people are increasingly associated with amultiplicity of communication devices, such as a work phone, a homephone connected to a switched telephone network, a phone connected to anInternet protocol network, a cellular phone, etc. Thus, it is oftendifficult for a caller wishing to reach a person to decide which of themany phone numbers associated with the person to call. For example, acaller may first try a work phone, and if the person is not there ordoes not answer, the caller may then call the person's home phone, thenthe person's mobile phone, etc. It would be advantageous to have a phoneaddress, such as a single phone number, which can be used to reach aperson whether the person is at a landline phone, mobile phone, or aVoIP phone.

There are challenges in routing calls seamlessly across wireline andwireless networks. As described herein, certain example embodimentsprovide integrated wireline and wireless call processing that isseamless to the subscriber. Further, certain embodiments integrate thecontributions of wireless, wireline, and mobile virtual networkoperators (MVNOs). For example, an MVNO may not own a licensed frequencyspectrum, but instead resells wireless telecommunications services underthe MVNO's brand name using a mobile phone network of another (e.g., amobile phone network operator which may provide mobile phone services ona wholesale and/or retail level, which will sometimes be referred toherein as the “underlying wireless service provider”).

While the following description refers to example Web page, network andtelephony standards and protocols, other standards and protocols can beused as well. In addition, unless otherwise indicated, the functionsdescribed herein may be performed by executable code and instructionsstored in computer readable memory and running on one or moreprocessor-based systems. However, state machines, and/or hardwiredelectronic circuits can also be utilized. Further, with respect to theexample processes described herein, not all the process states need tobe reached, nor do the states have to be performed in the illustratedorder. Further, certain process states that are illustrated as beingserially performed can be performed in parallel.

Similarly, while certain examples may refer to a personal computersystem, other computer or electronic systems can be used as well, suchas, without limitation, an interactive television, a networked-enabledpersonal digital assistant (PDA), a networked game console, a networkedentertainment device, and so on. While certain references are made tocertain system components or services, other components and services canbe used as well. In addition, while certain user inputs are described asbeing provided via key presses or by clicking on a button, optionally,user inputs can be provides using other techniques, such as by voice orotherwise. While certain phone numbers are referenced for purposes ofillustration, other phone numbers or electronic addresses or locatorscan be used as well.

Unless otherwise specified, the term phone number refers generally to atelephonic address, such as, without limitation, a standard POTstelephone number, an E.164 phone number (ITU-T recommendation whichdefines the international public telecommunication numbering plan andtelephone format used in the PSTN and certain data networks), or a VoIPaddress.

The following is a glossary of certain abbreviations.

Glossary:

BTS—Base Transceiver Station

CP MVNO—Carrier Partner MVNO

FCI—Forward Call Indicator

HLR—Home Location Register

ISDN—Integrated Services Digital Network

ISUP—ISDN User Part

LERG—Local Exchange Routing Guide

LNP—Local Number Portability

LRN—Location Routing Number

MDN—Mobile Device Number

MSC—Mobile Switching Center

MVNO—Mobile Virtual Network Operator

PSTN—Public Switched Telephone Network

SIP—Session Initiation Protocol

SMS—Short Message Service

SMSC—Short Message Service Center

TCNI—Translated Called Number Indicator

In an example embodiment, a communications service provider (e.g.,offering enhanced telecommunication services) and a wireline carrieroptionally integrate with a wireless MVNO to provide certain callprocessing services, such as a mobile one-number service. In thisexample embodiment, phone numbers owned/controlled by the wirelinecarrier are utilized as the Mobile Device Numbers (MDN) (sometimesreferred to as a Mobile Directory Number) for the MVNO's wireless,mobile phones. Calls to these MDNs route through a call processingsystem (also referred to herein as a softswitch) associated with thecommunications service provider, which in turn routes the calls to thewireless MVNO. The softswitch optionally also communicates with atelecommunications client associated with a subscriber or other user.

The telecommunications client application is used to providecommunication services, although such interfaces can be provided usingother applications, such as a browser accessing call processing userinterfaces and information from a remote server. In an exampleembodiment, the telecommunications client application connects to andcommunicates with the softswitch via the Internet, a cable network, orother communication medium. The client application, executing on asubscriber's computer terminal, can make the subscriber's onlinepresence known to the softswitch (e.g., by transmitting a message fromthe client application host to the softswitch).

The softswitch can be used to receive and display call log data from thesoftswitch (e.g., a list of calls placed to/received by the subscriber,or placed by the subscriber, including phone numbers, caller or calledparty names, date/time of the call, an indication as to whether a callwas an outbound/inbound call, the city/state of the caller/called party,etc.), and call alert data (e.g., listing the caller phone number, name,city/state, and/or call status (e.g., ringing, playing message,recording caller message, terminating call)). The client application candisplay a log of recorded messages from callers, and can provideplayback controls for playing back the recorded message via the clientcomputer terminal. The client optionally can also be used to screencalls in substantially real time while calls are in progress and toinstruct the softswitch to accept calls on the host computer terminal,forward calls, refuse calls, initiate call conferencing, and/or tootherwise provide call handling instructions.

An example telecommunications client providing a call log 202 and acontacts user interface 214 is shown in FIG. 2. In this example, a firstarea 201, informs the user how many new calls the user has received. Thecall log 202 in this example includes the name of the caller (ifavailable) as obtained using call signaling information (e.g., callerID)or otherwise, the date of the call (e.g., “today”, “yesterday”, or thedate including the month, day, and year), the time of the call, and thelength of the message left by the caller (e.g., the message length inseconds/minutes, or a no message indication if no message was left). Inaddition, if the call was a fax, the log can so indicate, and furtherindicate the length of the fax (e.g., in pages), and the time and dateof the fax call. Less, more, and/or different information can beprovided and displayed as well.

A play caller message control 204 (which when activated by the usercauses a caller message to be played back on the host) and a stop/pausemessage playback control 206 are optionally provided. In addition,optionally, a delete log entry control 208, a reply to caller (e.g., viaa text or multimedia message) control 210, and/or a forward callermessage (and/or log entry) control 212 are provided. The contact userinterface can list one or more contacts of the user (e.g., includingsome or all of the following: contact name; contact location, contactemail address, one or more contact phone addresses, a designation forone or more of the phone addresses indicated if the phone address is amobile phone address, a home phone address, a work phone address, an IPphone address, or a fax phone address). An edit contact record control216, a create new contact record control 218, and a send contact recordcontrol 220 are optionally provided. Examples of certain of suchcontrols are described below. A second example telecommunication client,with call log and contacts accessed and displayed via a Web browser, isillustrated in FIG. 3.

Clicking on or otherwise moving a cursor to a call entry in an examplecall log selects the call, and then applicable button controls thenapply to that call. Optionally, the first time the call log is displayedin a given session, the first (most recent) call is selected by default.Optionally, when switching between call log and contacts userinterfaces, the previously selected call is remembered and redisplayedwhen the call log is again selected.

If a message (e.g., a recorded message from a caller) is associated withthe call, the message can be played by clicking on a Play button (e.g.,control 204). While a call is playing, optionally a sliding cursor showsplay progress. Playing can be stopped at a desired point by clicking astop/pause button (e.g., control 206), or a play cursor can berepositioned to restart play at another point. Optionally, call volumecan be adjusted via a client application call control and/or via aseparate operating system or other volume control.

A Delete control (e.g., delete control 208) is provided, which, whenactivated, causes the deletion of a call log entry. An Undo control isoptionally provided, which, when activated can undelete previouslydeleted calls (e.g., up to a certain limit, such as the last 10 deletedcalls).

A Forward control (e.g., control 212) is optionally provided, which,when activated causes information regarding the currently selected callto be forwarded to a designated recipient (e.g., via email, SMS, MMS,instant messaging, etc.). Activating the Forward control optionallycauses a drop down list of the user's contacts, or a portion thereof, tobe displayed. Optionally, the user contacts are listed alphabetically byname, and optionally contact entries without a name are excluded orlisted after those entries with a name.

A Reply control (e.g., control 210) is optionally provided, which, whenactivated causes, by way of example, a text message field and/or amultimedia message field to be presented to the user into which the usercan enter a reply message (e.g., text or multimedia). The messageaddress field will optionally be pre-populated with the name/address ofa selected call log entry. Optionally, if the reply is to a cell phonemessage, the default prepopulated address field can be the caller's SMSor MMS address. Optionally, the address field can be overwritten by thesender or an email address stored in the caller's contact record can beused.

A Send control is optionally provided, which, when activated causes, byway of example, a text message field to be presented to the user intowhich the user can enter a text or multimedia message. The messageaddress field can be prepopulated with the name/address of a selectedcall log entry or contact.

An Invite button control provided is provided (optionally, when thecontact has not yet been sent an email or other electronic invitationvia the softswitch to try certain services (e.g., TYF email or otherelectronic communication) to the given address (e.g., email address) orif the address is blank; if an invitation had previously been sent, aReinvite control is optionally provided. Optionally, users who click onor otherwise activate the Invite button control for a blank emailaddress are asked to enter an email address first; otherwise, bothInvite and Reinvite display a TYF form with this entry's email addresspre-populated.

The user's call log is optionally stored on the user's computer and isavailable when the application client is offline. As similarly discussedelsewhere herein, the call log stored on the user's computer issynchronized with the softswitch when the telecommunications client logsin to the softswitch, and synchronization is optionally periodicallyperformed while online (e.g., every minute, every two minutes, or atother interval) while the client is online.

Optionally, when an incoming call is received, the telecommunicationsclient is automatically maximized or increased in size if it iscurrently minimized, the information about the caller (e.g., name, phonenumber, and/or city/state) is displayed, and the message being left bythe caller is played, unless the speaker mute control is activated, asdiscussed below. When the call completes, the call is optionallydisplayed as the first call in the call log and it is highlighted orotherwise emphasized (e.g., via a new call icon) to indicate it is a newcall. Optionally, an indication is provided (e.g., via a blinking icon)that new calls have been received until the indicator is clicked on orthe new calls in the call log are clicked.

If incoming calls are received by the softswitch when atelecommunications client is offline, when the telecommunications clientgoes online and a session is established with the softswitch,information related to those incoming calls is transmitted by thesoftswitch to the client. The call information for the calls isoptionally displayed at the top of the call log (or at anotherdesignated position) with highlighting or other indicator that indicatesthe calls are new calls, and optionally, an icon is blinked or otherwiseemphasized to indicate that new calls have been received.

Optionally, the telecommunications client has a user accessible control(e.g., with a speaker icon) for muting telecommunications sound signalsthat would otherwise be produced by the host computer speaker. Whenclicked on or depressed, sound from the client application to thespeaker is muted, and when not depressed or when clicked on again, thesound is unmuted. Optionally, the user can control the defaultstate/position of the mute control for incoming calls (e.g., via theoption setting “Enable speaker during incoming calls”). Optionally, bydefault the client application sound to the speaker is not muted forincoming calls. If the user clicks on a message entry in a call log toplay the message (or otherwise activates a play message control),optionally the mute control automatically changes to the unmutedposition/state, and again changes to its specified defaultposition/state if an incoming call is received. The mute control can beclicked while playing a message or receiving a call to change thespeaker/mute behavior.

FIGS. 4A-B illustrate example telecommunications user interfacesprovided via a widget or gadget that can provide some or all of thefunctionality described above with respect to FIG. 2. A widget can be inthe form of a portable code that can be installed and executed within aWeb page (e.g., an HTML-based web page) by an end user without requiringadditional compilation. By way of illustration, a widget can be in theform of a window (with or without a border) with a particular appearanceand behavior, a text box, a media player, etc. A widget can optionallyaccept and process user inputs. A gadget is equivalent to a widget thatworks in a Google framework. Other types of applications can be used aswell to provide the functionality of a widget or gadget.

FIG. 4A illustrates the example widget user interface displaying callinformation for the most recent received call. The user interfaceincludes the name/identifier (if available) of the caller, the date ofthe call, the time of the call, and the connect time, length of messageleft (if any), or length of fax received (if any). An expand control isprovided to expand the size and/or amount of information displayed. Anaccount control is provided, which when activated causes an accountmanagement Web page to be presented. A feedback control is providedwhich, when activated, causes a form to be presented via which the usercan submit feedback to the system operator/provider (e.g., like anddislikes regarding the system and services, problem issues, etc.),access a help interface, and/or access answers to frequently askedquestions. A “see all calls” control is provided, which when activated,causes the user interface to list numerous past calls (e.g., all pastcalls, all past call received in a certain time period whose entrieshave not been deleted, a certain number of past calls, etc.), optionallyin a scrollable user interface.

FIG. 4B illustrates an example expanded version of the user interfaceillustrated in FIG. 4A. The example view displays the calling number (ifavailable) and a message playback status bar.

In an example embodiment, a “one-number” communication process is used,wherein a user is assigned a phone address (e.g., a phone number) thatexternally identifies one or more telecommunication devices (e.g., awireless telephone), and can be used as follows:

The “one-number” is the number the customer publishes for people to callthe telecommunication device (e.g., a telephone) or send messages (e.g.,SMS text messages or MMS messages) to the “one-number”.

The “one-number” is the number that is published as the caller ID whenthe customer makes calls with the phone or sends SMS/MMS messages.

Optionally, calls to this “one-number” are routed through the softswitchon their way to the phone to provide enhanced call management services.

In an example illustrative embodiment, the CP MVNO allocates phonenumbers for its mobile phones from its own number pool. Calls to numbersin this pool will route through the PSTN and terminate on the softswitchbecause it would own the assigned point code (node address). Optionally,the CP MVNO provisions one or more phone number blocks as wireless(e.g., coded as NXXTYPE=51, which indicates that the NXX (the 3 digitsafter the area code in the United States) is shared between wireless andPOTs). This phone address provisioning step may simplify SMS routing forwireless carriers that rely upon this wireless designation in routingdatabases (e.g., the LERG). Certain example embodiments include a callprocessing system softswitch that configures call signaling parametersassociated with an outbound call so that the outbound call appears to beto a phone number ported to a wireless communication service provider,even though the phone number has not been ported to the wirelesscommunication service provider.

In an example embodiment, the CP MVNO contracts with an inter-carrierSMS gateway to broadcast the CP MVNO number blocks to otherinter-carrier SMS gateway providers and to route SMS messages addressedto the numbers in the block to the underlying wireless serviceprovider's SMSC. Otherwise, in certain telecommunication systems,because the phone number appears to be landline phone number, if a poolof landline phone numbers are used, an SMS message would pass to thegateway MSC provider associated with the landline phone number, whichwould discard it (e.g., because the SMS message is not deliverable to alandline phone) or otherwise fail to deliver the SMS message.

In an example embodiment, when provisioning service for a CP MVNO mobilephone, the phone numbers that are offered to the customer to choose fromcome from the CP MVNO number pool. Optionally, the underlying wirelessservice provider assigns the chosen phone number as the phone's MDN anddisables or inhibits optimal routing for the phone, as discussed below.

In this example, the underlying wireless service provider MSC and SMSCare configured to accept/route calls and SMS messages directed to MDN'sof mobile phones it is servicing, even though these MDN's are not owned(from a call routing database (e.g., LERG) perspective) by theunderlying wireless service provider.

CallWave, Inc. is an example of an enhanced service provider providingintegrated wireline and wireless enhanced call processing. SprintWireless, Verizon, Cingular are examples of wireless phone operatorscurrently providing wholesale Mobile Virtual Network Operator services.Of course, other providers can be used instead or in addition.

FIG. 1 depicts an example call scenario in which a caller 102 initiatesa call to a CP MVNO mobile phone, where the call is routed to a MVNOmobile phone 120 associated with the called party (e.g., a customer ofthe enhanced telecommunications service provider, MVNO, landlinetelecommunications provider) via a softswitch 104. An example callhandling sequence is as follows:

State 1. A caller associated with a telecommunications device 102 dialsthe phone number of the CP MVNO mobile phone 120.

State 2. The PSTN system compares the phone number with a database ofphone numbers that indicates the “ownership” of the phone number. Thephone number is recognized in the PSTN 106 as “owned” by the CP MVNOwith a point code assigned to the softswitch 104. The PSTN 106 routesthe call to the softswitch 104, which then receives the call.

State 3. In this example, the softswitch 104 utilizes signalinginformation associated with the call (e.g., the called phone number) toidentify the customer being called, accesses account informationassociated with the customer using the called phone number, utilizes theaccount information to identify address information associated with thecustomer's telecommunications client 108, and determines that thecustomer's telecommunications client 108 (e.g., CP MVNO-brandedtelecommunications client hosted on a personal computer, networkedtelevision, smart phone, etc.) is online (e.g., from a message sent bythe client to the softswitch).

The softswitch 104 transmits over the Internet 122 (or other network) tothe telecommunications client 108 a notification regarding the call(optionally including the name, phone number, city and/or state of thecaller), and the client 108 provides the customer with some or all ofthe received call information (e.g., initiates or otherwise provides aringing sound indicating the existence of an inbound call and/ordisplays call information/status, such as the number/identity of thecaller, the geographical (city, state) location from which the calloriginated, etc.). This gives the customer the opportunity to screen thecall (e.g., via the caller information associated with the call or via amessage being left by the caller on a voice answering system, which maybe include in the softswitch, and streamed to the customer's terminal insubstantially real time so the customer can decide whether or not totake the call), take the call on the telecommunication applicationclient host, and/or transfer the call to another phone (e.g., a mobilephone, a landline phone, a broadband phone, a VoIP phone, etc.

By way of example, the client application 108 can provide a “take thecall” control (e.g., via a soft button or link), which when activated bythe customer, causes the call to be connected to the client host (e.g.,using VoIP where the host is equipped with VoIP software, microphone,speaker) so that the customer and caller can converse. By way of furtherexample, the client application 108 can provide a “forward the call”control, which when activated by the customer, causes a listing ofpredefined destinations to be presented and/or a phone address field inwhich the customer can enter a destination phone address. The customercan select a destination or enter a phone address, and the call isforwarded to the new destination (e.g., the softswitch 104 places anoutcall to the new destination and bridged the inbound call from thecaller with the outcall).

State 4. The softswitch routes the call (e.g., by placing an outcall) toa Gateway MSC 110 (Mobile Switching Center) that optionally is operatedand/or owned by an underlying wireless service provider (e.g., thatprovides a wireless network and wireless cellular services compatiblewith one or more standards, such as CDMA, GSM, HSDPA, HSUPA, etc.) tothe MVNO. In this example, the softswitch causes the call to be routedto the MSC 110 via the SS7 ISUP (ISDN User Part) Initial Address Messageused to originate the call by: a) setting the Generic Address parameterto the called party number, b) setting the Called Party Number parameterto the LRN (Location Routing Number) of the underlying wireless serviceprovider Gateway MSC (Mobile Switching Center), and c) setting theTranslated Called Number Indicator (TCNI) bit in the Forward CallParameter. Other routing techniques can be used as well.

State 5. The Gateway MSC 110 queries it's HLR 116 with the called partyphone number. In this example, the HLR 116 stores and locates a match onthe MDN of the CP MVNO mobile phone 120, and the query returns thephone's presence/location and the MSC that is currently serving thephone 120.

State 6. The Gateway MSC 110 routes the call to the serving MSC 112,which routes it to the appropriate BTS (Base Transceiver Station) 114.

State 7. The BTS 114 transmits an indication regarding the incoming callto the mobile phone 120, and in response, the mobile phone 120 rings andis answered by the customer. The answer state status is provided to thesoftswitch 104. When the softswitch 104 detects the answer state, itbegins screening the call to the mobile phone (e.g., transmitting calleridentification information and/or transmitting in substantially realtime a message being left by the caller (e.g., in response to a “leavemessage” request played by the softswitch 104 to the caller) to themobile phone while optionally preventing or not enabling the caller tohear the called party). The mobile phone user can then press 1 on themobile phone 120 to take the call or 2 to transfer the call. Other userinputs can be used as well (e.g., voice commands, different key presses,etc.). If a take the call instruction is received, the softswitch canbridge the original call and the outcall in full duplex mode.Alternatively or in addition, the telecommunications user can takeaction on the call (e.g., take the call, forward the call, etc.).

Optionally, the Gateway MSC 110 is configured so that if the mobilephone had been turned off, was out of range, was busy, or was otherwiseunavailable, the Gateway MSC 110 would have followed the forwardingrules configured in the HLR 116. For example, the forwarding rules canbe configured to call the softswitch 104. The softswitch 104, configuredto detect loopbacks and to take a message or attempt to deliver calls toanother destination which such a loopback condition occurs, would detectthis loopback situation and would act appropriately to take a message orattempt to deliver the call to a different phone used by the customer,as configured in a customer account database (e.g., where the customerspecifies the telecommunication device order in which the softswitchshould attempt to reach the customer if a higher ranked device isunavailable and/or not answered).

In this example, “optimal routing” (which, when a mobile phone is not inits home system, allows a call to be routed directly from theoriginating switch to the MSC currently serving the mobile phone,replacing the leg from the originating switch to the home MSC and theleg from the home MSC to the Serving MSC) in the HLR 116, would bedisabled for the CP MVNO mobile phone 120. Thus, if a mobile phone beingserved by the underlying wireless service provider originates a call,the call will still route through PSTN 106 to the softswitch 104.

If the CP MVNO mobile phone 120 originates a call, the call is routedvia standard or other wireless process, optionally without passingthrough the softswitch 104 unless the call is to another CP MVNO mobilephone.

In an example embodiment, for proper routing of SMS messages, the CPMVNO contracts with or otherwise arranges with an inter-carrier SMSgateway vendor to service the CP MVNO's block of mobile phone numbers.The SMS gateway is configured to route SMS messages addressed to phonenumbers in the block to the underlying wireless service provider SMSC(Short Message Service Center). An SMS message sent by the CP MVNOmobile phone would have the phone's MDN in the HLR as the sendingaddress signaled to the device receiving the message. If the address isnot marked as private, the number, may be displayed via the receivingdevice (e.g., via a Caller ID display).

If the MDN assigned to a CP MVNO mobile phone had been ported to the CPMVNO, routing of calls and SMS messages still works properly. In thecase of a call to the mobile phone, the LNP (Local Number Portability)dip is performed in the PSTN to cause the call to be routed to thesoftswitch. After that, the softswitch's routing to the wireless networkis the same as or substantially similar to the above described scenario.Similarly for SMS messages, the inter-carrier SMS gateways perform anLNP dip to get the LRN identifying the owner of the addressed phonenumber. This LRN is recognized by the gateway as being associated withthe CP MVNO's number block, which is designated to route to theunderlying wireless service provider SMSC.

The foregoing description details certain embodiments of the invention.It will be appreciated, however, that no matter how detailed theforegoing appears in text, the invention can be practiced in many ways.As is also stated above, it should be noted that the use of particularterminology when describing certain features or aspects of the inventionshould not be taken to imply that the terminology is being re-definedherein to be restricted to including any specific characteristics of thefeatures or aspects of the invention with which that terminology isassociated.

1. (canceled)
 2. A computer storage system comprising a non-transitorystorage device, said computer storage system having stored thereonexecutable program instructions that direct a computer system to performoperations comprising: record a unique phone address assigned to a user,wherein calls to the unique phone address are initially received by thecomputer system; receive an incoming call directed to the unique phoneaddress, the incoming call including call related information, the callrelated information including at least an identifier associated with acalling party; at least partly in response to the receipt of theincoming call, automatically cause a notification of the incoming callto be presented by an application software program hosted on anInternet-connected computing device of the user during the incomingcall, wherein the incoming call notification includes a calling partyphone address or the identifier associated with the calling party; andsubsequent to the incoming call and at least in part in response toselection of a user interface control presented by the applicationsoftware program hosted on the Internet-connected computing device ofthe user, cause at least in part a text message or a multi-media messagefrom the Internet-connected computing device of the user to be presentedto the calling party with the unique phone address as a sender phoneaddress.
 3. The computer storage system as defined in claim 2, whereinthe identifier associated with the calling party comprises a nameassociated with the calling party.
 4. The computer storage system asdefined in claim 2, wherein the unique phone address is not a wirelessphone address of the user.
 5. The computer storage system as defined inclaim 2, wherein the incoming call is received via an Internet Protocolconnection.
 6. The computer storage system as defined in claim 2,wherein at least a portion of the information in the incoming callnotification is sent over the Internet to the application softwareprogram hosted on the Internet-connected computing device of the user.7. The computer storage system as defined in claim 2, wherein theInternet-connected computing device of the user comprises a mobile usercomputing device.
 8. The computer storage system as defined in claim 2,wherein the text message comprises a Short Message Service (SMS)message.
 9. The computer storage system as defined in claim 2, whereinthe executable program instructions further direct the computer systemto: enable the user, via the application software program hosted on theInternet-connected computing device of the user, to direct the incomingcall to a telephonic device associated with the user.
 10. The computerstorage system as defined in claim 2, wherein the executable programinstructions further direct the computer system to: enable the user, viathe application software program hosted on the Internet-connectedcomputing device of the user, to create a contact associated with theincoming call.
 11. The computer storage system as defined in claim 2,wherein the executable program instructions further direct the computersystem to: cause at least a portion of the incoming call relatedinformation to be stored in a user contact data store.
 12. The computerstorage system as defined in claim 11, wherein at least a portion ofcontact information of the user contact data store is editable by theuser via the application software program hosted on theInternet-connected computing device of the user.
 13. A computer storagesystem comprising a non-transitory storage device, said computer storagesystem having stored thereon executable program instructions that directa computer system to perform operations comprising: receive an incomingcall from a calling party, the incoming call directed to a phone addressassociated with the user, the incoming call including call relatedinformation, the call related information including at least anidentifier associated with a calling party; detect an online presence ofan application software program hosted on an Internet-connectedcomputing device of the user; at least partly in response to the receiptof the incoming call, automatically cause a notification of the incomingcall to be presented by the application software program hosted on theInternet-connected computing device of the user during the incomingcall, and wherein the incoming call notification includes a callingparty phone address or the identifier associated with the calling party;and subsequent to the incoming call and at least in part in response toa selection of a user interface control presented by the applicationsoftware program hosted on the Internet-connected computing device ofthe user, causing at least in part a text message from theInternet-connected computing device of the user to be presented to thecalling party with the phone address associated with the user.
 14. Thecomputer storage system as defined in claim 13, wherein the identifierassociated with the calling party comprises a name associated with thecalling party.
 15. The computer storage system as defined in claim 13,wherein the incoming call to the phone address initially routes to thecomputer system.
 16. The computer storage system as defined in claim 13,wherein at least a portion of the information in the incoming callnotification is sent over the Internet to the application softwareprogram hosted on the Internet-connected computing device of the user.17. The computer storage system as defined in claim 13, wherein theexecutable program instructions further direct the computer system to:enable the user, via the application software program hosted on theInternet-connected computing device of the user, to direct the incomingcall to a telephonic device associated with the user.
 18. The computerstorage system as defined in claim 13, wherein the executable programinstructions further direct the computer system to: enable the user, viathe application software program hosted on the Internet-connectedcomputing device of the user, to create a contact associated with theincoming call.
 19. The computer storage system as defined in claim 13,wherein the executable program instructions further direct the computersystem to: cause at least a portion of the incoming call relatedinformation to be stored in a user contact data store.
 20. The computerstorage system as defined in claim 19, wherein at least a portion ofcontact information of the user contact data store is editable by theuser via the application software program hosted on theInternet-connected computing device of the user.
 21. A computer storagesystem comprising a non-transitory storage device, said computer storagesystem having stored thereon executable program instructions that directa computer system to at least: receive a communication from anInternet-connected computing device of the user; determine, from thereceived communication, that the Internet-connected computing device ofthe user is online; receive an incoming call over from a calling party,the incoming call directed to a phone address associated with the user,the incoming call including call related information, the call relatedinformation including at least an identifier associated with a callingparty; at least partly in response to the receipt of the incoming call,automatically cause a notification of the incoming call to be presentedduring the incoming call in a web page on the Internet-connectedcomputing device of the user, wherein the incoming call notificationincludes a calling party phone address or the identifier associated withthe calling party; and subsequent to the incoming call and at least inpart in response to a selection of a web page interface controlpresented by the Internet-connected computing device of the user, cause,at least in part, a text message from the computing device of the userto be presented to the calling party with the phone address associatedwith the user.